
import path from 'path'
import { 字典拼写转换, 字典拼写转换T } from './拼写转换'
import { log } from './VSC扩展'
const 锁: unique symbol = Symbol()

export type 锁 = {
  [锁]: boolean
}

export function 创建锁(初始值: boolean): 锁 {
  return {
    [锁]: 初始值,
  }
}
export function 设置锁(a: 锁, 新值: boolean): 锁 {
  return {
    [锁]: 新值,
  }
}
export function 查询锁(a: 锁): boolean {
  return a[锁]
}

export type 上下文 = {
  递归锁: 锁
  拼写字典: 字典拼写转换T[]
}

export async function 创建上下文(): Promise<上下文> {
  var 锁 = 创建锁(false)
  var 使用的拼写字典: 字典拼写转换T[] = []
  使用的拼写字典.push(await 字典拼写转换(path.resolve(__dirname, '../字典/', 'pinyin_simp.dict.txt')))

  return {
    递归锁: 锁,
    拼写字典: 使用的拼写字典,
  }
}
